不知不覺commit了很多東西,今天要來面對的,就是這些紀錄的修改。
這個篇章大概會分成兩個部分:
在用rebase之前,先看一下紀錄
git log --oneline
嗯....那假若我今天想要改一些紀錄呢?
於是,我輸入rebase指令:
git rebase -i 507908b
結果......
等等,我進到什麼鬼地方,這裡好像按什麼都沒有什麼用,這啥鬼?
看著一個陌生的畫面,上網查了一下,這才知道這個東西叫做Vim編輯器,據說是一個年紀比我還要大的編輯器。
然後再查查這個要怎麼離開,意外的得知了更多關於Vim編輯器的操作:
原來Vim有兩個模式:
現在上面這張圖就是我們正在insert模式,可以準備編輯、改動一些文字,不過,這是等等要做的事情,我現在想先瞭解這個是什麼東西。
那....我試試看切過去Normal模式?
按照搜尋資料來源的說法,切過去的方式要先按個:Esc或是ctrl+[
來試試看吧:
這個時候,左下角的--INSERT--就消失了耶,也就是說,我現在可以離開囉?那怎麼離開?
額....搜尋了一下之後,發現在Normal模式中,有一些關鍵字可以使用:
:w 是存檔
:q 離開
:wq 是存檔+離開
那我先來試一下:wq好了:
耶,回到人間!
看到這邊,大概可以先歸納一些事情,也就是,在Insert模式、Normal模式中,有一些溝通的橋樑:
從Insert模式到Normal模式,只要按下Esc或是Ctrl+[ 就可以去到Normal模式
那反過來呢?
從Normal到Insert模式要怎麼走?
有三個鍵:i、a、o可以使用:
i的意思就是Insert
a的意思就是append
o的意思就....不是那麼直觀,它是「新增一行並開始輸入」
好啦,本來要講編輯歷史紀錄的,結果掉進這個Vim的深淵,不免還是要來講一下怎麼逃離,不過Vim還有很多的指令可以用....我們就有機會再說吧
還記得我輸入了
git rebase -i 507908b
這個指令跑到這裡,也就是剛剛的Insert模式,這個時候我要幹嘛呢?
在insert模式中,當然是要來改一些東西啊,承繼上面所說的,我要來改一些紀錄!
我在這邊把兩個紀錄:
05cd6f3
6cbbf58
前面的pick改成了reword,這個時候就會就意味著修改紀錄,reword的中文意義也就是所謂的「改寫」。
ok,那這個時候我們就跳出這個insert模式吧!
輸入:
:wq
嗯?!
怎麼跑出又一頁?
原來這個就是要我們改上面的commit紀錄
好吧,那就切回insert模式來改:
哦,btw,因為我們剛剛是reword了兩個commit,所以也就是說,會跳出兩次的commit紀錄改寫:
弄完了之後,我們就可以看到紀錄中又兩個commit message是比較不一樣的:
fe80f36 fine!change
672ffe6 ok,just change!
嘿嘿,你以為只有這樣嗎?
下一集還會更精彩喔!
鐵人賽